/**
 * @file student.js
 * @description 学生基本信息相关API请求
 * @created
 */

import request from '@/utils/request'

/**
 * 获取学生信息
 * @param {string} studentName - 学生姓名
 * @returns {Promise} 返回学生个人信息
 */
export const studentInfo = (studentName) => {
  return request.get('/api/student/info', {
    params: { studentName }
  }).catch(error => {
    console.error('获取学生信息失败:', error)
    throw error
  })
}

/**
 * 获取待学习内容
 * @param {string} ToStudyTitle - 学习内容标题
 * @param {string} ToStudyContent - 学习内容详情
 * @returns {Promise} 返回待学习内容列表
 */
export const studentToStudy = (ToStudyTitle, ToStudyContent) => {
  return request.get('/api/student/study-content', {
    params: { ToStudyTitle, ToStudyContent }
  }).catch(error => {
    console.error('获取待学习内容失败:', error)
    throw error
  })
}

/**
 * 获取学生成绩数据
 * @param {string} studentId - 学生ID
 * @returns {Promise} 返回学生成绩数据
 */
export const getStudentGrades = (studentId) => {
  return request.get('/api/student/grades', {
    params: { studentId }
  }).catch(error => {
    console.error('获取学生成绩失败:', error)
    throw error
  })
}

/**
 * 获取学生课程列表
 * @param {string} studentId - 学生ID
 * @returns {Promise} 返回学生课程列表
 */
export const getStudentCourses = (studentId) => {
  return request.get('/api/student/courses', {
    params: { studentId }
  }).catch(error => {
    console.error('获取学生课程列表失败:', error)
    throw error
  })
}

/**
 * 更新学生个人信息
 * @param {string} studentId - 学生ID
 * @param {Object} data - 学生个人信息
 * @returns {Promise} 返回更新结果
 */
export const updateStudentInfo = (studentId, data) => {
  return request.put(`/api/student/${studentId}/info`, data)
    .catch(error => {
      console.error('更新学生信息失败:', error)
      throw error
    })
}

import axios from 'axios'

export const getProfile = () => axios.get('/student/info')
export const updateProfile = (data) => axios.put('/student/info', data)
